SQL 审核遏止大部分数据库性能问题
2015 Oracle 技术嘉年华已经于11月21日在北京圆满结束,据主办方透露,本次大会无论在嘉宾还是报名规模上都远超了去年,仅报名参加人数就达到一千五百人左右。雨雪交加的第一日,签到处就排了长长的队伍,人头攒动,大家对 Oracle 技术的热情使整个会场暖意融融。
随着信息技术的高速发展,IT 系统在企业运营中发挥着越来越大的作用,IT 系统的稳定性和安全性常常关系着一个企业的命脉。然而互联网企业和传统企业却面对着不同的状况:以 BAT 为首的中国互联网企业都有强大且完善的运维团队,来建设系统或应对每天业务给系统带来的压力;然而相对于 BAT 这类企业,很多缺乏 IT 支持的传统企业,想要高效运维自身系统是有很大难度的。
此次,主办方邀请到了江苏移动信息技术中心架构室的资深 Oracle 数据库专家戴建东,戴总主要负责数据库维护管理以及下一代 CRM 系统架构研究。大会现场,记者就实际场景下,Oracle 系统搭建及运维过程中所遇问题及解决方式采访了戴总。
▲江苏移动信息技术中心架构室的资深Oracle DBA专家戴建东
第三方开发对接脱节,缺乏技术支持
中国移动通信集团江苏有限公司是中国移动有限公司在江苏设立的全资子公司,作为通信行业的巨头,江苏移动在数据库系统的建设以及运维方面也有十分头疼的地方。
戴建东在采访中提到,首先,移动运营商的系统开发与 BAT 类互联网企业的系统开发有很大不同,运营商没有强大的开发运维团队,所以基本都需要第三方开发商来开发系统。在开发过程中,从移动运营商作为甲方提出需求,到第三方开发商研发上线,其中很多环节是脱节的,缺乏对接。其次,第三方开发商会考虑成本问题,他们在数据库开发上投入成本不多,且缺乏 DBA 的支持,导致一些设计和 SQL 在开发过程中效率低下。
以上这些情况都是在开发、建设期有可能出现的问题,作为系统的使用者,戴建东表示:“如果我们不能及时识别并解决这些问题,上线后极有可能出现系统性能急剧下降的情况。”现在用户对于运营商系统的要求相当高,一旦性能出现大范围波动,用户体验就会下降,带来的负面影响可想而知。
Oracle 系统遇故障,"救火"无法解决根本问题
Oracle 在数据库市场的占有率无疑是首位,很多大型企业,尤其是对数据库安全性能要求很高的企业一直视 Oracle 为不二之选。戴建东表示:“江苏移动作为通信企业,对数据库系统要求很高。我们现在基本上最核心的、跟用户密切相关的数据库还是坚定不移的选择 Oracle,”选择了适合自身需求的产品,后期运维的跟进是保证系统高质量运行的关键。
其实在生产中,绝大多数 Oracle 的业务系统出现问题都是 SQL 导致的。但是大多 DBA,尤其是偏运维的 DBA 对 SQL 并不擅长,这些 DBA 承担着数据库运维和维护稳定性的职责,而他们对这些问题可能又无能为力。原本 SQL 的质量应该是开发层负责的问题,但目前的现状是,开发人员管不了,运维很多人员不擅长。所以当系统出现问题的时候,就需要专业人员“救火”,而事发或事后救火往往是业务已经遭受了损失。
江苏移动如何应对此类问题
戴建东在访谈中分享了自身的经验,要高效运维自身数据库系统,首先需对系统和相关技术有足够了解。Oracle 每一个版本发布的时候都会带来新的特性,江苏移动更希望尝试新的技术,所以在系统中会有所应用。使用的诀窍就是,寻求专家支持,先在非核心系统尝试新技术,逐渐发现并改善对其理解上的偏差,经多次实践找到最佳方法。例如,江苏移动在技术上得到了云和恩墨的高级专家支持,与 Oracle 的 SSC 也有紧密合作。
对于上文中提到对接脱节导致的问题,以及 Oracle 业务系统问题的解决,戴建东解释道:“如果等系统上线后出现了问题再解决就已经来不及了,我们需要尽可能在上线阶段就避免这些问题。所以,我们与云和恩墨合作,引入了 SQL 审核项目,在上线过程中,通过SQL审核服务环节帮助我们检测代码,尽可能的将低质的、设计不合理的 SQL 写法在开发阶段解决掉,减少在上线后由于性能导致的故障问题。”
在实践中江苏移动发现,对于数据库系统性能故障,开发人员管不了、运维人员不擅长这一现象,要解决这一问题,SQL 审核是一个最佳融合点。
那么,什么是 SQL 审核? 将 SQL 质量审核和优化这项任务,从 DB 端提取到研发端,通过擅长 SQL 的开发 DBA 和开发团队一起修正系统的 SQL,找出问题、修复问题,提升系统的健壮性和稳定性,从而保证整个系统的运维建设质量,这就是 SQL 审核。云和恩墨创始人,ACE 总监盖国强谈到此项目时提到:“SQL 审核是云和恩墨根据服务国内客户的经验,了解用户的痛点和需求之后形成的服务产品,并且在过去三年内不断投入研发形成了特有 SQL 审核产品 z3,z3 是随着行业的发展和用户的需求渐进式迭代出来的产品,符合当前运维自动化的发展趋势。在对系统性能要求极高的信息时代,我们需要帮助用户在系统上线前就将这些问题解决掉。”
盖总透露,SQL 审核已经慢慢成为一种趋势,并且也应该成为 DevOps 中的一环。任何一个新产品的推出,总会经过一个用户从熟悉到接受的过程,但是在互联网的浪潮下,用户对新技术的接受度越来越高,当一个新的产品和方案能为用户带来价值、提升竞争力时,用户会以前所未有的速度去拥抱变化。
的确,为了在激烈的市场竞争中稳固增强地位,紧跟市场思维,企业对自身 IT 系统的关注远高于从前,现场不乏企业 DBA 们聚在一起探讨交流最新所获。无法到场的小伙伴们可关注云和恩墨官方微信获取相关PPT和视频资源。
另外,作为本次嘉年华最大的赞助商,云和恩墨创始人盖国强盖总也接受了记者的采访,就云时代数据库领域的发展发表了看法,没有 Oracle 的云环境是不完整的:
点击原文链接查看原文章报道。